package com.huaxin.device.models;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.huaxin.device.dto.enums.CoolingMethod;
import com.huaxin.device.dto.enums.InsulationLevel;
import com.huaxin.hxenum.enums.ActiveStatus;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;

/**
 * 电力设备型号表
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("equipment_model")
@Schema(description = "设备型号")
public class EquipmentModel extends BaseModel {

    @TableField(value = "model_code")
    @Schema(description = "型号编码", example = "SCB10-1000kVA")
    private String modelCode;

    @TableField(value = "model_name")
    @Schema(description = "型号名称", example = "SCB10系列干式变压器")
    private String modelName;

    @TableField(value = "category_id")
    @Schema(description = "所属分类ID", example = "c123e456-789a-bcde-f012-3456789abcdf")
    private String categoryId;

    @TableField(value = "manufacturer")
    @Schema(description = "生产厂家", example = "特变电工")
    private String manufacturer;

    @TableField(value = "rated_voltage")
    @Schema(description = "额定电压", example = "10kV/400V")
    private String ratedVoltage;

    @TableField(value = "rated_current")
    @Schema(description = "额定电流（A）", example = "1443")
    private Integer ratedCurrent;

    @TableField(value = "power_rating")
    @Schema(description = "额定容量（kVA/kW）", example = "1000.00")
    private BigDecimal powerRating;

    @TableField(value = "frequency")
    @Schema(description = "频率", example = "50Hz")
    private String frequency;

    @TableField(value = "cooling_method")
    @Schema(description = "冷却方式", example = "AN")
    private CoolingMethod coolingMethod;

    @TableField(value = "insulation_level")
    @Schema(description = "绝缘等级", example = "F")
    private InsulationLevel insulationLevel;

    @TableField(value = "description")
    @Schema(description = "型号说明")
    private String description;

    @TableField(value = "status")
    @Schema(description = "状态：ACTIVE-启用，INACTIVE-停用", example = "ACTIVE")
    private ActiveStatus status;
}